[INFO] cloning repository https://github.com/Birbe/jvm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Birbe/jvm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBirbe%2Fjvm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBirbe%2Fjvm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d6a973527e2f6792a6edbd8a968c61331dce21c3
[INFO] building Birbe/jvm against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBirbe%2Fjvm" "/workspace/builds/worker-12/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Birbe/jvm on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Birbe/jvm
[INFO] finished tweaking git repo https://github.com/Birbe/jvm
[INFO] tweaked toml for git repo https://github.com/Birbe/jvm written to /workspace/builds/worker-12/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 625c4a5d83caf92421bdbe047ef17a73289915cfd2ea0be0152a45204f4ae2de
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "625c4a5d83caf92421bdbe047ef17a73289915cfd2ea0be0152a45204f4ae2de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "625c4a5d83caf92421bdbe047ef17a73289915cfd2ea0be0152a45204f4ae2de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "625c4a5d83caf92421bdbe047ef17a73289915cfd2ea0be0152a45204f4ae2de", kill_on_drop: false }`
[INFO] [stdout] 625c4a5d83caf92421bdbe047ef17a73289915cfd2ea0be0152a45204f4ae2de
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9508b10d6a401d5c1bb5860dfd8f9b18fe7f236a8b820a2937f579870af785a8
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "9508b10d6a401d5c1bb5860dfd8f9b18fe7f236a8b820a2937f579870af785a8", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.95
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling target-lexicon v0.12.0
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling wasmparser v0.77.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling typenum v1.13.0
[INFO] [stderr]    Compiling more-asserts v0.2.1
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling leb128 v0.2.4
[INFO] [stderr]    Compiling zstd-safe v3.0.1+zstd.1.4.9
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling opaque-debug v0.3.0
[INFO] [stderr]    Compiling wasmtime-cache v0.26.1
[INFO] [stderr]    Compiling cpufeatures v0.1.4
[INFO] [stderr]    Compiling id-arena v2.2.1
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling wasmparser v0.59.0
[INFO] [stderr]    Compiling rustc-serialize v0.3.24
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling paste v1.0.5
[INFO] [stderr]    Compiling indexmap v1.6.2
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling itertools v0.10.0
[INFO] [stderr]    Compiling wast v35.0.2
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.27
[INFO] [stderr]    Compiling cpp_demangle v0.3.2
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling jobserver v0.1.22
[INFO] [stderr]    Compiling region v2.2.0
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling errno v0.2.7
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling cc v1.0.68
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling directories-next v2.0.0
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling sha2 v0.9.5
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling wasmtime-fiber v0.26.1
[INFO] [stderr]    Compiling zstd-sys v1.4.20+zstd.1.4.9
[INFO] [stderr]    Compiling backtrace v0.3.59
[INFO] [stderr]    Compiling wasmtime-runtime v0.26.1
[INFO] [stderr]    Compiling psm v0.1.13
[INFO] [stderr]    Compiling file-per-thread-logger v0.1.4
[INFO] [stderr]    Compiling wat v1.0.37
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]    Compiling thiserror-impl v1.0.25
[INFO] [stderr]    Compiling scroll_derive v0.10.5
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling walrus-macro v0.18.0
[INFO] [stderr]    Compiling scroll v0.10.2
[INFO] [stderr]    Compiling walrus v0.18.0
[INFO] [stderr]    Compiling thiserror v1.0.25
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]    Compiling cranelift-entity v0.73.1
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.73.1
[INFO] [stderr]    Compiling regalloc v0.0.31
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.73.1
[INFO] [stderr]    Compiling cranelift-bforest v0.73.1
[INFO] [stderr]    Compiling gimli v0.23.0
[INFO] [stderr]    Compiling object v0.23.0
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling num_enum_derive v0.5.1
[INFO] [stderr]    Compiling num_enum v0.5.1
[INFO] [stderr]    Compiling jvm v0.1.0 (/opt/rustwide/workdir/jvm)
[INFO] [stdout] warning: unused import: `ArrayType`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:1:118
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::vm::class::{Class, FieldDescriptor, MethodDescriptor, AccessFlags, RefInfoType, Method, MethodReturnType, ArrayType, ClassErro...
[INFO] [stdout]   |                                                                                                                      ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `are_classpaths_siblings`, `load_class`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::vm::linker::loader::{load_class, ClassLoader, are_classpaths_siblings, ClassLoadState, DeserializationError};
[INFO] [stdout]   |                                 ^^^^^^^^^^               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs`, `mem`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fs, mem};
[INFO] [stdout]   |           ^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Deref};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefMut`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::{RefCell, RefMut};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout`, `dealloc`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::alloc::{Layout, dealloc};
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::alloc::alloc`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::alloc::alloc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use core::ptr;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::iter::FromIterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Object`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:20:63
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::vm::heap::{Heap, InternArrayType, Type, Reference, Object};
[INFO] [stdout]    |                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::vm::bytecode::Bytecode`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::vm::vm::bytecode::Bytecode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::linker::loader::DeserializationError`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1010:9
[INFO] [stdout]      |
[INFO] [stdout] 1010 |     use crate::vm::linker::loader::DeserializationError;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1011:9
[INFO] [stdout]      |
[INFO] [stdout] 1011 |     use std::rc::Rc;
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_enum::IntoPrimitive`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1012:9
[INFO] [stdout]      |
[INFO] [stdout] 1012 |     use num_enum::IntoPrimitive;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cursor`, `Error`
[INFO] [stdout]  --> jvm/src/vm/class.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{Cursor, Read, Seek, Error};
[INFO] [stdout]   |               ^^^^^^              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::size_of`
[INFO] [stdout]  --> jvm/src/vm/class.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem::size_of;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> jvm/src/vm/class.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cursor`
[INFO] [stdout]    --> jvm/src/vm/class.rs:519:19
[INFO] [stdout]     |
[INFO] [stdout] 519 |     use std::io::{Cursor, Read, Seek, SeekFrom};
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::vm::bytecode::Bytecode`
[INFO] [stdout]    --> jvm/src/vm/class.rs:523:9
[INFO] [stdout]     |
[INFO] [stdout] 523 |     use crate::vm::vm::bytecode::Bytecode;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cursor`
[INFO] [stdout]    --> jvm/src/vm/class.rs:811:19
[INFO] [stdout]     |
[INFO] [stdout] 811 |     use std::io::{Cursor, Read, Seek};
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayType`, `ClassError`
[INFO] [stdout]  --> jvm/src/vm/linker/loader.rs:4:105
[INFO] [stdout]   |
[INFO] [stdout] 4 | ...eld, BaseType, ConstantPool, MethodDescriptor, ArrayType, MethodReturnType, ClassError};
[INFO] [stdout]   |                                                   ^^^^^^^^^                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::size_of`
[INFO] [stdout]  --> jvm/src/vm/linker/loader.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::mem::size_of;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::vm::OperandType::ClassReference`
[INFO] [stdout]   --> jvm/src/vm/linker/loader.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::vm::vm::OperandType::ClassReference;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Method`
[INFO] [stdout]  --> jvm/src/vm/heap.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::vm::class::{Class, Method};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::linker::loader::are_classpaths_siblings`
[INFO] [stdout]   --> jvm/src/vm/heap.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::vm::linker::loader::are_classpaths_siblings;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object_type`
[INFO] [stdout]    --> jvm/src/vm/vm.rs:609:49
[INFO] [stdout]     |
[INFO] [stdout] 609 |                     FieldDescriptor::ObjectType(object_type) => {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_type`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1406:42
[INFO] [stdout]      |
[INFO] [stdout] 1406 |                         (0..npairs).map(|x| {
[INFO] [stdout]      |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1403:29
[INFO] [stdout]      |
[INFO] [stdout] 1403 |                         let default = cursor.read_i32::<BigEndian>()?;
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> jvm/src/vm/class.rs:393:13
[INFO] [stdout]     |
[INFO] [stdout] 393 |             c => return Err(ParseError::InvalidBaseType)
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_pos`
[INFO] [stdout]    --> jvm/src/vm/class.rs:539:17
[INFO] [stdout]     |
[INFO] [stdout] 539 |             let max_pos = start_pos+(length as u64)+6; //in bytes
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constant_pool`
[INFO] [stdout]    --> jvm/src/vm/class.rs:914:56
[INFO] [stdout]     |
[INFO] [stdout] 914 |         pub fn from_bytes<R: Read + Seek>(rdr: &mut R, constant_pool: &ConstantPool) -> Result<Constant, ParseError> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constant_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> jvm/src/vm/vm.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let (header, body) = unsafe { Heap::get_array::<usize>(string_arr_ptr as *mut u8) };
[INFO] [stdout]    |                              ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> jvm/src/vm/vm.rs:432:38
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 let (header, body) = unsafe { Heap::get_array::<usize>(arr_ptr) };
[INFO] [stdout]     |                                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `BENCHMARKS`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | static mut BENCHMARKS: u16 = 0;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `contains_key`
[INFO] [stdout]    --> jvm/src/vm/vm.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn contains_key(&self, key: u16) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `thread_name`
[INFO] [stdout]    --> jvm/src/vm/vm.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     thread_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `seek_convenience` has been stable since 1.51.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> jvm/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(seek_convenience)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> jvm/src/vm/vm.rs:823:37
[INFO] [stdout]     |
[INFO] [stdout] 823 | ...                   format!("Attempted to pop operand stack, is empty. Bytecode {}\n Method name \"{}\"", opcode_pos, method.name)
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 823 |                                     "Attempted to pop operand stack, is empty. Bytecode {}\n Method name \"{}\"", opcode_pos, method.name
[INFO] [stdout]     |                                    --                                                                                                   --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> jvm/src/vm/class.rs:260:16
[INFO] [stdout]     |
[INFO] [stdout] 260 |         panic!(format!("Malformed field descriptor {}", desc));
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 260 |         panic!("Malformed field descriptor {}", desc);
[INFO] [stdout]     |               --                                   --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> jvm/src/vm/heap.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |             _ => panic!(format!("Invalid array type [{}] from u8!", t))
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 225 |             _ => panic!("Invalid array type [{}] from u8!", t)
[INFO] [stdout]     |                        --                                   --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1401:25
[INFO] [stdout]      |
[INFO] [stdout] 1401 |                         cursor.seek(SeekFrom::Current(pad as i64));
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/class.rs:607:25
[INFO] [stdout]     |
[INFO] [stdout] 607 |                         rdr.seek(SeekFrom::Current(length as i64));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> jvm/src/vm/linker/loader.rs:79:62
[INFO] [stdout]    |
[INFO] [stdout] 79 |              FieldDescriptor::ObjectType(obj_classpath) => { self.load_and_link_class(&obj_classpath); },
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> jvm/src/vm/linker/loader.rs:82:70
[INFO] [stdout]    |
[INFO] [stdout] 82 |                      FieldDescriptor::ObjectType(obj_classpath) => { self.load_and_link_class(&obj_classpath); },
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 self.load_and_link_class(&*String::from(&class.super_class));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     self.load_and_link_class(name);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     self.load_and_link_class(class.constant_pool.resolve_class_info(*class_name).unwrap());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     self.load_and_link_class(class.constant_pool.resolve_class_info(*class_name).unwrap());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:174:64
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 FieldDescriptor::ObjectType(fd_classpath) => { self.load_and_link_class(fd_classpath); },
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         self.load_and_link_class(&fd_classpath);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wasm v0.1.0 (/opt/rustwide/workdir/wasm)
[INFO] [stdout] warning: unused import: `walrus::ir::Instr`
[INFO] [stdout]  --> wasm/src/ir.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use walrus::ir::Instr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cursor`, `SeekFrom`, `Seek`
[INFO] [stdout]  --> wasm/src/ir.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{Cursor, Seek, SeekFrom};
[INFO] [stdout]   |               ^^^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max`, `min`
[INFO] [stdout]  --> wasm/src/ir.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::{min, max};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> wasm/src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crypto::sha2::Sha256`
[INFO] [stdout]  --> wasm/src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crypto::sha2::Sha256;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crypto::digest::Digest`
[INFO] [stdout]   --> wasm/src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crypto::digest::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jvm::vm::class::attribute::AttributeItem::Signature`
[INFO] [stdout]   --> wasm/src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use jvm::vm::class::attribute::AttributeItem::Signature;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> wasm/src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cursor`, `SeekFrom`, `Seek`
[INFO] [stdout]   --> wasm/src/lib.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{Cursor, Seek, SeekFrom};
[INFO] [stdout]    |               ^^^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ReadBytesExt`
[INFO] [stdout]   --> wasm/src/lib.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use byteorder::{ReadBytesExt, BigEndian, LittleEndian, ByteOrder};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jvm::vm::vm::VirtualMachine`
[INFO] [stdout]   --> wasm/src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use jvm::vm::vm::VirtualMachine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImportKind`, `LocalFunction`, `Memory`
[INFO] [stdout]   --> wasm/src/lib.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 | ...g, LocalFunction, ValType, FunctionBuilder, FunctionId, ImportId, LocalId, ModuleLocals, MemoryId, FunctionKind, ExportItem, ImportKind, Memory, I...
[INFO] [stdout]    |       ^^^^^^^^^^^^^                                                                                                             ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefMut`
[INFO] [stdout]   --> wasm/src/lib.rs:28:26
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::cell::{RefCell, RefMut};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::DerefMut`
[INFO] [stdout]   --> wasm/src/lib.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::ops::DerefMut;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]   --> wasm/src/lib.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::hint::unreachable_unchecked;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> wasm/src/ir.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |           unimplemented!();
[INFO] [stdout]     |           ----------------- any code following this expression is unreachable
[INFO] [stdout] 236 | 
[INFO] [stdout] 237 | /         if bytecodes.len() > 0 {
[INFO] [stdout] 238 | |             folded.push(FoldedBytecode::Instructions(bytecodes));
[INFO] [stdout] 239 | |         }
[INFO] [stdout]     | |_________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Borrow`
[INFO] [stdout]   --> wasm/src/lib.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BorrowMut`
[INFO] [stdout]   --> wasm/src/lib.rs:29:27
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classpath_offset`
[INFO] [stdout]   --> wasm/src/lib.rs:77:44
[INFO] [stdout]    |
[INFO] [stdout] 77 |             ResourceType::ObjectInstance { classpath_offset, fields_length, .. } => 4 + *fields_length as u32,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^ help: try ignoring the field: `classpath_offset: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> wasm/src/lib.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let size = string_class.full_heap_size + 4; //Following the memory layout
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classpath`
[INFO] [stdout]    --> wasm/src/lib.rs:416:14
[INFO] [stdout]     |
[INFO] [stdout] 416 |         for (classpath, class) in self.class_loader.class_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classpath`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classpath`
[INFO] [stdout]    --> wasm/src/lib.rs:421:14
[INFO] [stdout]     |
[INFO] [stdout] 421 |         for (classpath, class) in self.class_loader.class_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classpath`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_name`
[INFO] [stdout]    --> wasm/src/lib.rs:431:14
[INFO] [stdout]     |
[INFO] [stdout] 431 |         for (method_name, overloaded) in class.method_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:432:18
[INFO] [stdout]     |
[INFO] [stdout] 432 |             for (descriptor, method) in overloaded.iter() {
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_name`
[INFO] [stdout]    --> wasm/src/lib.rs:497:14
[INFO] [stdout]     |
[INFO] [stdout] 497 |         for (method_name, overloaded) in class.method_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:498:18
[INFO] [stdout]     |
[INFO] [stdout] 498 |             for (descriptor, method) in overloaded.iter() {
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i2`
[INFO] [stdout]    --> wasm/src/lib.rs:572:57
[INFO] [stdout]     |
[INFO] [stdout] 572 |                 stubs.iter().for_each(|(bytecode_index, i2, block_id)| {
[INFO] [stdout]     |                                                         ^^ help: if this is intentional, prefix it with an underscore: `_i2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytecode_index`
[INFO] [stdout]    --> wasm/src/lib.rs:576:46
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 stubs.into_iter().for_each(|(bytecode_index, folded_bytecode, block_id)| {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytecode_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:505:13
[INFO] [stdout]     |
[INFO] [stdout] 505 |         let method_descriptor = MethodDescriptor::parse(&method.descriptor);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> wasm/src/lib.rs:604:13
[INFO] [stdout]     |
[INFO] [stdout] 604 |         let len = code.code.len();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> wasm/src/lib.rs:602:36
[INFO] [stdout]     |
[INFO] [stdout] 602 |     fn analyze_locals(code: &Code, class: &Class) -> HashMap<usize, ValType> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]    --> wasm/src/lib.rs:658:42
[INFO] [stdout]     |
[INFO] [stdout] 658 |     fn fold_bytecode(&self, code: &Code, method: &Method, class: &Class) -> Vec<FoldedBytecode> {
[INFO] [stdout]     |                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> wasm/src/lib.rs:658:59
[INFO] [stdout]     |
[INFO] [stdout] 658 |     fn fold_bytecode(&self, code: &Code, method: &Method, class: &Class) -> Vec<FoldedBytecode> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> wasm/src/lib.rs:669:21
[INFO] [stdout]     |
[INFO] [stdout] 669 |                 let first = bytecode.first();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `formatted`
[INFO] [stdout]    --> wasm/src/lib.rs:716:13
[INFO] [stdout]     |
[INFO] [stdout] 716 |         let formatted = format_method_name(class, method);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_formatted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:717:13
[INFO] [stdout]     |
[INFO] [stdout] 717 |         let method_descriptor = MethodDescriptor::parse(&method.descriptor).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytecode_index`
[INFO] [stdout]    --> wasm/src/lib.rs:734:17
[INFO] [stdout]     |
[INFO] [stdout] 734 |             let bytecode_index = *&ib.1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytecode_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:903:37
[INFO] [stdout]     |
[INFO] [stdout] 903 |                 Bytecode::If_icmpge(branch) => { //if_icmpge
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:914:37
[INFO] [stdout]     |
[INFO] [stdout] 914 |                 Bytecode::If_icmpeq(branch) => {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:917:32
[INFO] [stdout]     |
[INFO] [stdout] 917 |                 Bytecode::Goto(branch) => {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:920:37
[INFO] [stdout]     |
[INFO] [stdout] 920 |                 Bytecode::If_icmpne(branch) => {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:923:32
[INFO] [stdout]     |
[INFO] [stdout] 923 |                 Bytecode::Ifne(branch) => {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clazz`
[INFO] [stdout]    --> wasm/src/lib.rs:931:29
[INFO] [stdout]     |
[INFO] [stdout] 931 |                         let clazz = class.constant_pool.resolve_class_info(*class_index).unwrap();
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_clazz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fd`
[INFO] [stdout]    --> wasm/src/lib.rs:935:29
[INFO] [stdout]     |
[INFO] [stdout] 935 |                         let fd = FieldDescriptor::parse(descriptor);
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_fd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:956:25
[INFO] [stdout]     |
[INFO] [stdout] 956 |                     let method_descriptor = MethodDescriptor::parse(&method_ref.descriptor);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]     --> wasm/src/lib.rs:1009:37
[INFO] [stdout]      |
[INFO] [stdout] 1009 |                 Bytecode::Anewarray(index) => { //anewarray
[INFO] [stdout]      |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]     --> wasm/src/lib.rs:1049:32
[INFO] [stdout]      |
[INFO] [stdout] 1049 |                 Bytecode::Ifeq(c) => {
[INFO] [stdout]      |                                ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_map`
[INFO] [stdout]    --> wasm/src/lib.rs:715:88
[INFO] [stdout]     |
[INFO] [stdout] 715 | ...e: &Vec<IndexedBytecode>, block_map: &HashMap<usize, InstrSeqId>, method: &Method, class: &Class, java_locals: &HashMap<usize, LocalId...
[INFO] [stdout]     |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scopes`
[INFO] [stdout]    --> wasm/src/ir.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let scopes: Vec<(Range<usize>, BlockType)> = Vec::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scopes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> wasm/src/ir.rs:191:41
[INFO] [stdout]     |
[INFO] [stdout] 191 |             blocktypes.iter().for_each(|block| {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `folded`
[INFO] [stdout]    --> wasm/src/ir.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut folded: Vec<FoldedBytecode> = Vec::new();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_folded`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]    --> wasm/src/ir.rs:254:17
[INFO] [stdout]     |
[INFO] [stdout] 254 |             let length = Bytecode::size_of(&bytecode);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]    --> wasm/src/ir.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn from(bytes: Vec<u8>) -> Self {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:405:18
[INFO] [stdout]     |
[INFO] [stdout] 405 |     pub fn build(mut self) -> (Vec<u8>, SerializedMemory) {
[INFO] [stdout]     |                  ----^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:585:25
[INFO] [stdout]     |
[INFO] [stdout] 585 |                     let mut builder = match &mut module.funcs.get_mut(func_id).kind {
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:512:21
[INFO] [stdout]     |
[INFO] [stdout] 512 |                 let mut bytecode_locals = Self::analyze_locals(code, class);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:557:21
[INFO] [stdout]     |
[INFO] [stdout] 557 |                 let mut builder = match &mut module.funcs.get_mut(func_id).kind {
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/ir.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut folded: Vec<FoldedBytecode> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `LengthOfBlock`
[INFO] [stdout]  --> wasm/src/ir.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type LengthOfBlock = usize;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `None`
[INFO] [stdout]   --> wasm/src/ir.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Instructions`
[INFO] [stdout]   --> wasm/src/ir.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Instructions(Vec<IndexedBytecode>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `LoopBlock`
[INFO] [stdout]   --> wasm/src/ir.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     LoopBlock(Vec<FoldedBytecode>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `IfBlock`
[INFO] [stdout]   --> wasm/src/ir.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     IfBlock(Vec<FoldedBytecode>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Block`
[INFO] [stdout]   --> wasm/src/ir.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Block(Vec<FoldedBytecode>)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `fold_bytecode`
[INFO] [stdout]    --> wasm/src/ir.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn fold_bytecode(flagged: &[BytecodeWithBlockFlag], in_block: bool) -> Vec<FoldedBytecode> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `WasmIR`
[INFO] [stdout]    --> wasm/src/ir.rs:279:10
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub enum WasmIR {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `br_if`
[INFO] [stdout]     --> wasm/src/lib.rs:1221:12
[INFO] [stdout]      |
[INFO] [stdout] 1221 |     pub fn br_if(&mut self, id: InstrSeqId) -> &mut Self {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling addr2line v0.14.1
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 67 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cranelift-codegen v0.73.1
[INFO] [stderr]    Compiling zstd v0.6.1+zstd.1.4.9
[INFO] [stderr]    Compiling cranelift-frontend v0.73.1
[INFO] [stderr]    Compiling cranelift-native v0.73.1
[INFO] [stderr]    Compiling cranelift-wasm v0.73.1
[INFO] [stderr]    Compiling wasmtime-environ v0.26.1
[INFO] [stderr]    Compiling wasmtime-debug v0.26.1
[INFO] [stderr]    Compiling wasmtime-cranelift v0.26.1
[INFO] [stderr]    Compiling wasmtime-obj v0.26.1
[INFO] [stderr]    Compiling wasmtime-profiling v0.26.1
[INFO] [stderr]    Compiling wasmtime-jit v0.26.1
[INFO] [stderr]    Compiling wasmtime v0.26.1
[INFO] [stderr]    Compiling jvm-test v0.1.0 (/opt/rustwide/workdir/jvm_test)
[INFO] [stdout] warning: unused imports: `ImportType`, `Limits`, `MemoryType`, `ValType`
[INFO] [stdout]   --> jvm_test/src/main.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 | use wasmtime::{Store, Module, Func, ValType, Instance, Val, MemoryType, Limits, ImportType, Caller};
[INFO] [stdout]    |                                     ^^^^^^^                 ^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasmtime::Memory`
[INFO] [stdout]   --> jvm_test/src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use wasmtime::Memory;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> jvm_test/src/main.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{Write, Error};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BigEndian`
[INFO] [stdout]   --> jvm_test/src/main.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use byteorder::{BigEndian, ByteOrder, LittleEndian};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classpath_utf8_len`
[INFO] [stdout]   --> jvm_test/src/main.rs:90:25
[INFO] [stdout]    |
[INFO] [stdout] 90 |                     let classpath_utf8_len = LittleEndian::read_u32(&data[classpath_utf8_ptr..classpath_utf8_ptr+4]);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classpath_utf8_len`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]   --> jvm_test/src/main.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let (_, class) = cl.load_and_link_class("Main").ok().unwrap();
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_time`
[INFO] [stdout]   --> jvm_test/src/main.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let get_time = Func::wrap(&store, || {
[INFO] [stdout]    |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `print_long`
[INFO] [stdout]   --> jvm_test/src/main.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let print_long = Func::wrap(&store, |x: i64| {
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_long`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `print_string`
[INFO] [stdout]   --> jvm_test/src/main.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let print_string = Func::wrap(&store,|caller: Caller, x: i32| {
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mem_ptr`
[INFO] [stdout]    --> jvm_test/src/main.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |             let mem_ptr = heap.data_ptr();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mem_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main`
[INFO] [stdout]    --> jvm_test/src/main.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let (_, main) = vm.class_loader.borrow_mut().load_and_link_class("Main").ok().unwrap();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_main`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread`
[INFO] [stdout]    --> jvm_test/src/main.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let thread = vm.spawn_thread("Main", "Main", "main", "(I)V", vec![
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> jvm_test/src/main.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let mut imports = vec![
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> jvm_test/src/main.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut mut_thread = vm.threads.get_mut("Main").unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> jvm_test/src/main.rs:146:34
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 Err(e) => panic!(format!("{:?}", e))
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 Err(e) => panic!("{:?}", e)
[INFO] [stdout]     |                                 --       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> jvm_test/src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fs::write("./jvm_test/wasm_out/out.wasm", &wasm);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm_test/src/main.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 heap.data_unchecked_mut().write(&memory.data[..]);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm_test/src/main.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 | /             instance.get_export("main").unwrap().into_func().unwrap().call(
[INFO] [stdout] 117 | |                 &[Val::I32(100)]
[INFO] [stdout] 118 | |             );
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 7m 03s
[INFO] running `Command { std: "docker" "inspect" "9508b10d6a401d5c1bb5860dfd8f9b18fe7f236a8b820a2937f579870af785a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9508b10d6a401d5c1bb5860dfd8f9b18fe7f236a8b820a2937f579870af785a8", kill_on_drop: false }`
[INFO] [stdout] 9508b10d6a401d5c1bb5860dfd8f9b18fe7f236a8b820a2937f579870af785a8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 02ac44b928a611e7febd05e5887cca3e3512c8fe9c243eca858f22ab1503a6d3
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "02ac44b928a611e7febd05e5887cca3e3512c8fe9c243eca858f22ab1503a6d3", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `ArrayType`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:1:118
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::vm::class::{Class, FieldDescriptor, MethodDescriptor, AccessFlags, RefInfoType, Method, MethodReturnType, ArrayType, ClassErro...
[INFO] [stdout]   |                                                                                                                      ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `are_classpaths_siblings`, `load_class`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::vm::linker::loader::{load_class, ClassLoader, are_classpaths_siblings, ClassLoadState, DeserializationError};
[INFO] [stdout]   |                                 ^^^^^^^^^^               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs`, `mem`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fs, mem};
[INFO] [stdout]   |           ^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Deref};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefMut`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::{RefCell, RefMut};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout`, `dealloc`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::alloc::{Layout, dealloc};
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::alloc::alloc`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::alloc::alloc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use core::ptr;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::iter::FromIterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Object`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:20:63
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::vm::heap::{Heap, InternArrayType, Type, Reference, Object};
[INFO] [stdout]    |                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::vm::bytecode::Bytecode`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::vm::vm::bytecode::Bytecode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::linker::loader::DeserializationError`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1010:9
[INFO] [stdout]      |
[INFO] [stdout] 1010 |     use crate::vm::linker::loader::DeserializationError;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1011:9
[INFO] [stdout]      |
[INFO] [stdout] 1011 |     use std::rc::Rc;
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_enum::IntoPrimitive`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1012:9
[INFO] [stdout]      |
[INFO] [stdout] 1012 |     use num_enum::IntoPrimitive;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cursor`, `Error`
[INFO] [stdout]  --> jvm/src/vm/class.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{Cursor, Read, Seek, Error};
[INFO] [stdout]   |               ^^^^^^              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::size_of`
[INFO] [stdout]  --> jvm/src/vm/class.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem::size_of;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> jvm/src/vm/class.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cursor`
[INFO] [stdout]    --> jvm/src/vm/class.rs:519:19
[INFO] [stdout]     |
[INFO] [stdout] 519 |     use std::io::{Cursor, Read, Seek, SeekFrom};
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::vm::bytecode::Bytecode`
[INFO] [stdout]    --> jvm/src/vm/class.rs:523:9
[INFO] [stdout]     |
[INFO] [stdout] 523 |     use crate::vm::vm::bytecode::Bytecode;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cursor`
[INFO] [stdout]    --> jvm/src/vm/class.rs:811:19
[INFO] [stdout]     |
[INFO] [stdout] 811 |     use std::io::{Cursor, Read, Seek};
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayType`, `ClassError`
[INFO] [stdout]  --> jvm/src/vm/linker/loader.rs:4:105
[INFO] [stdout]   |
[INFO] [stdout] 4 | ...eld, BaseType, ConstantPool, MethodDescriptor, ArrayType, MethodReturnType, ClassError};
[INFO] [stdout]   |                                                   ^^^^^^^^^                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::size_of`
[INFO] [stdout]  --> jvm/src/vm/linker/loader.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::mem::size_of;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::vm::OperandType::ClassReference`
[INFO] [stdout]   --> jvm/src/vm/linker/loader.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::vm::vm::OperandType::ClassReference;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Method`
[INFO] [stdout]  --> jvm/src/vm/heap.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::vm::class::{Class, Method};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::linker::loader::are_classpaths_siblings`
[INFO] [stdout]   --> jvm/src/vm/heap.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::vm::linker::loader::are_classpaths_siblings;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object_type`
[INFO] [stdout]    --> jvm/src/vm/vm.rs:609:49
[INFO] [stdout]     |
[INFO] [stdout] 609 |                     FieldDescriptor::ObjectType(object_type) => {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_type`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling jvm v0.1.0 (/opt/rustwide/workdir/jvm)
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1406:42
[INFO] [stdout]      |
[INFO] [stdout] 1406 |                         (0..npairs).map(|x| {
[INFO] [stdout]      |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1403:29
[INFO] [stdout]      |
[INFO] [stdout] 1403 |                         let default = cursor.read_i32::<BigEndian>()?;
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> jvm/src/vm/class.rs:393:13
[INFO] [stdout]     |
[INFO] [stdout] 393 |             c => return Err(ParseError::InvalidBaseType)
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_pos`
[INFO] [stdout]    --> jvm/src/vm/class.rs:539:17
[INFO] [stdout]     |
[INFO] [stdout] 539 |             let max_pos = start_pos+(length as u64)+6; //in bytes
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constant_pool`
[INFO] [stdout]    --> jvm/src/vm/class.rs:914:56
[INFO] [stdout]     |
[INFO] [stdout] 914 |         pub fn from_bytes<R: Read + Seek>(rdr: &mut R, constant_pool: &ConstantPool) -> Result<Constant, ParseError> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constant_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> jvm/src/vm/vm.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let (header, body) = unsafe { Heap::get_array::<usize>(string_arr_ptr as *mut u8) };
[INFO] [stdout]    |                              ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> jvm/src/vm/vm.rs:432:38
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 let (header, body) = unsafe { Heap::get_array::<usize>(arr_ptr) };
[INFO] [stdout]     |                                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `BENCHMARKS`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | static mut BENCHMARKS: u16 = 0;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `contains_key`
[INFO] [stdout]    --> jvm/src/vm/vm.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn contains_key(&self, key: u16) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `thread_name`
[INFO] [stdout]    --> jvm/src/vm/vm.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     thread_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `seek_convenience` has been stable since 1.51.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> jvm/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(seek_convenience)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> jvm/src/vm/vm.rs:823:37
[INFO] [stdout]     |
[INFO] [stdout] 823 | ...                   format!("Attempted to pop operand stack, is empty. Bytecode {}\n Method name \"{}\"", opcode_pos, method.name)
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 823 |                                     "Attempted to pop operand stack, is empty. Bytecode {}\n Method name \"{}\"", opcode_pos, method.name
[INFO] [stdout]     |                                    --                                                                                                   --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> jvm/src/vm/class.rs:260:16
[INFO] [stdout]     |
[INFO] [stdout] 260 |         panic!(format!("Malformed field descriptor {}", desc));
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 260 |         panic!("Malformed field descriptor {}", desc);
[INFO] [stdout]     |               --                                   --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> jvm/src/vm/heap.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |             _ => panic!(format!("Invalid array type [{}] from u8!", t))
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 225 |             _ => panic!("Invalid array type [{}] from u8!", t)
[INFO] [stdout]     |                        --                                   --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1401:25
[INFO] [stdout]      |
[INFO] [stdout] 1401 |                         cursor.seek(SeekFrom::Current(pad as i64));
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/class.rs:607:25
[INFO] [stdout]     |
[INFO] [stdout] 607 |                         rdr.seek(SeekFrom::Current(length as i64));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> jvm/src/vm/linker/loader.rs:79:62
[INFO] [stdout]    |
[INFO] [stdout] 79 |              FieldDescriptor::ObjectType(obj_classpath) => { self.load_and_link_class(&obj_classpath); },
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> jvm/src/vm/linker/loader.rs:82:70
[INFO] [stdout]    |
[INFO] [stdout] 82 |                      FieldDescriptor::ObjectType(obj_classpath) => { self.load_and_link_class(&obj_classpath); },
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 self.load_and_link_class(&*String::from(&class.super_class));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     self.load_and_link_class(name);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     self.load_and_link_class(class.constant_pool.resolve_class_info(*class_name).unwrap());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     self.load_and_link_class(class.constant_pool.resolve_class_info(*class_name).unwrap());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:174:64
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 FieldDescriptor::ObjectType(fd_classpath) => { self.load_and_link_class(fd_classpath); },
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm/src/vm/linker/loader.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         self.load_and_link_class(&fd_classpath);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `walrus::ir::Instr`
[INFO] [stdout]  --> wasm/src/ir.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use walrus::ir::Instr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cursor`, `SeekFrom`, `Seek`
[INFO] [stdout]  --> wasm/src/ir.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{Cursor, Seek, SeekFrom};
[INFO] [stdout]   |               ^^^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max`, `min`
[INFO] [stdout]  --> wasm/src/ir.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::{min, max};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> wasm/src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crypto::sha2::Sha256`
[INFO] [stdout]  --> wasm/src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crypto::sha2::Sha256;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crypto::digest::Digest`
[INFO] [stdout]   --> wasm/src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crypto::digest::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jvm::vm::class::attribute::AttributeItem::Signature`
[INFO] [stdout]   --> wasm/src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use jvm::vm::class::attribute::AttributeItem::Signature;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> wasm/src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cursor`, `SeekFrom`, `Seek`
[INFO] [stdout]   --> wasm/src/lib.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{Cursor, Seek, SeekFrom};
[INFO] [stdout]    |               ^^^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ReadBytesExt`
[INFO] [stdout]   --> wasm/src/lib.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use byteorder::{ReadBytesExt, BigEndian, LittleEndian, ByteOrder};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jvm::vm::vm::VirtualMachine`
[INFO] [stdout]   --> wasm/src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use jvm::vm::vm::VirtualMachine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImportKind`, `LocalFunction`, `Memory`
[INFO] [stdout]   --> wasm/src/lib.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 | ...g, LocalFunction, ValType, FunctionBuilder, FunctionId, ImportId, LocalId, ModuleLocals, MemoryId, FunctionKind, ExportItem, ImportKind, Memory, I...
[INFO] [stdout]    |       ^^^^^^^^^^^^^                                                                                                             ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefMut`
[INFO] [stdout]   --> wasm/src/lib.rs:28:26
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::cell::{RefCell, RefMut};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::DerefMut`
[INFO] [stdout]   --> wasm/src/lib.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::ops::DerefMut;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]   --> wasm/src/lib.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::hint::unreachable_unchecked;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> wasm/src/ir.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |           unimplemented!();
[INFO] [stdout]     |           ----------------- any code following this expression is unreachable
[INFO] [stdout] 236 | 
[INFO] [stdout] 237 | /         if bytecodes.len() > 0 {
[INFO] [stdout] 238 | |             folded.push(FoldedBytecode::Instructions(bytecodes));
[INFO] [stdout] 239 | |         }
[INFO] [stdout]     | |_________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Borrow`
[INFO] [stdout]   --> wasm/src/lib.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BorrowMut`
[INFO] [stdout]   --> wasm/src/lib.rs:29:27
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classpath_offset`
[INFO] [stdout]   --> wasm/src/lib.rs:77:44
[INFO] [stdout]    |
[INFO] [stdout] 77 |             ResourceType::ObjectInstance { classpath_offset, fields_length, .. } => 4 + *fields_length as u32,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^ help: try ignoring the field: `classpath_offset: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> wasm/src/lib.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let size = string_class.full_heap_size + 4; //Following the memory layout
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classpath`
[INFO] [stdout]    --> wasm/src/lib.rs:416:14
[INFO] [stdout]     |
[INFO] [stdout] 416 |         for (classpath, class) in self.class_loader.class_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classpath`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classpath`
[INFO] [stdout]    --> wasm/src/lib.rs:421:14
[INFO] [stdout]     |
[INFO] [stdout] 421 |         for (classpath, class) in self.class_loader.class_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classpath`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_name`
[INFO] [stdout]    --> wasm/src/lib.rs:431:14
[INFO] [stdout]     |
[INFO] [stdout] 431 |         for (method_name, overloaded) in class.method_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:432:18
[INFO] [stdout]     |
[INFO] [stdout] 432 |             for (descriptor, method) in overloaded.iter() {
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_name`
[INFO] [stdout]    --> wasm/src/lib.rs:497:14
[INFO] [stdout]     |
[INFO] [stdout] 497 |         for (method_name, overloaded) in class.method_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:498:18
[INFO] [stdout]     |
[INFO] [stdout] 498 |             for (descriptor, method) in overloaded.iter() {
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i2`
[INFO] [stdout]    --> wasm/src/lib.rs:572:57
[INFO] [stdout]     |
[INFO] [stdout] 572 |                 stubs.iter().for_each(|(bytecode_index, i2, block_id)| {
[INFO] [stdout]     |                                                         ^^ help: if this is intentional, prefix it with an underscore: `_i2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytecode_index`
[INFO] [stdout]    --> wasm/src/lib.rs:576:46
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 stubs.into_iter().for_each(|(bytecode_index, folded_bytecode, block_id)| {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytecode_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:505:13
[INFO] [stdout]     |
[INFO] [stdout] 505 |         let method_descriptor = MethodDescriptor::parse(&method.descriptor);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> wasm/src/lib.rs:604:13
[INFO] [stdout]     |
[INFO] [stdout] 604 |         let len = code.code.len();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> wasm/src/lib.rs:602:36
[INFO] [stdout]     |
[INFO] [stdout] 602 |     fn analyze_locals(code: &Code, class: &Class) -> HashMap<usize, ValType> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]    --> wasm/src/lib.rs:658:42
[INFO] [stdout]     |
[INFO] [stdout] 658 |     fn fold_bytecode(&self, code: &Code, method: &Method, class: &Class) -> Vec<FoldedBytecode> {
[INFO] [stdout]     |                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> wasm/src/lib.rs:658:59
[INFO] [stdout]     |
[INFO] [stdout] 658 |     fn fold_bytecode(&self, code: &Code, method: &Method, class: &Class) -> Vec<FoldedBytecode> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> wasm/src/lib.rs:669:21
[INFO] [stdout]     |
[INFO] [stdout] 669 |                 let first = bytecode.first();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `formatted`
[INFO] [stdout]    --> wasm/src/lib.rs:716:13
[INFO] [stdout]     |
[INFO] [stdout] 716 |         let formatted = format_method_name(class, method);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_formatted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:717:13
[INFO] [stdout]     |
[INFO] [stdout] 717 |         let method_descriptor = MethodDescriptor::parse(&method.descriptor).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytecode_index`
[INFO] [stdout]    --> wasm/src/lib.rs:734:17
[INFO] [stdout]     |
[INFO] [stdout] 734 |             let bytecode_index = *&ib.1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytecode_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wasm v0.1.0 (/opt/rustwide/workdir/wasm)
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:903:37
[INFO] [stdout]     |
[INFO] [stdout] 903 |                 Bytecode::If_icmpge(branch) => { //if_icmpge
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling jvm-test v0.1.0 (/opt/rustwide/workdir/jvm_test)
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:914:37
[INFO] [stdout]     |
[INFO] [stdout] 914 |                 Bytecode::If_icmpeq(branch) => {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:917:32
[INFO] [stdout]     |
[INFO] [stdout] 917 |                 Bytecode::Goto(branch) => {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:920:37
[INFO] [stdout]     |
[INFO] [stdout] 920 |                 Bytecode::If_icmpne(branch) => {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:923:32
[INFO] [stdout]     |
[INFO] [stdout] 923 |                 Bytecode::Ifne(branch) => {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clazz`
[INFO] [stdout]    --> wasm/src/lib.rs:931:29
[INFO] [stdout]     |
[INFO] [stdout] 931 |                         let clazz = class.constant_pool.resolve_class_info(*class_index).unwrap();
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_clazz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fd`
[INFO] [stdout]    --> wasm/src/lib.rs:935:29
[INFO] [stdout]     |
[INFO] [stdout] 935 |                         let fd = FieldDescriptor::parse(descriptor);
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_fd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:956:25
[INFO] [stdout]     |
[INFO] [stdout] 956 |                     let method_descriptor = MethodDescriptor::parse(&method_ref.descriptor);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]     --> wasm/src/lib.rs:1009:37
[INFO] [stdout]      |
[INFO] [stdout] 1009 |                 Bytecode::Anewarray(index) => { //anewarray
[INFO] [stdout]      |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]     --> wasm/src/lib.rs:1049:32
[INFO] [stdout]      |
[INFO] [stdout] 1049 |                 Bytecode::Ifeq(c) => {
[INFO] [stdout]      |                                ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_map`
[INFO] [stdout]    --> wasm/src/lib.rs:715:88
[INFO] [stdout]     |
[INFO] [stdout] 715 | ...e: &Vec<IndexedBytecode>, block_map: &HashMap<usize, InstrSeqId>, method: &Method, class: &Class, java_locals: &HashMap<usize, LocalId...
[INFO] [stdout]     |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scopes`
[INFO] [stdout]    --> wasm/src/ir.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let scopes: Vec<(Range<usize>, BlockType)> = Vec::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scopes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> wasm/src/ir.rs:191:41
[INFO] [stdout]     |
[INFO] [stdout] 191 |             blocktypes.iter().for_each(|block| {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `folded`
[INFO] [stdout]    --> wasm/src/ir.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut folded: Vec<FoldedBytecode> = Vec::new();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_folded`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]    --> wasm/src/ir.rs:254:17
[INFO] [stdout]     |
[INFO] [stdout] 254 |             let length = Bytecode::size_of(&bytecode);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]    --> wasm/src/ir.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn from(bytes: Vec<u8>) -> Self {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:405:18
[INFO] [stdout]     |
[INFO] [stdout] 405 |     pub fn build(mut self) -> (Vec<u8>, SerializedMemory) {
[INFO] [stdout]     |                  ----^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:585:25
[INFO] [stdout]     |
[INFO] [stdout] 585 |                     let mut builder = match &mut module.funcs.get_mut(func_id).kind {
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:512:21
[INFO] [stdout]     |
[INFO] [stdout] 512 |                 let mut bytecode_locals = Self::analyze_locals(code, class);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:557:21
[INFO] [stdout]     |
[INFO] [stdout] 557 |                 let mut builder = match &mut module.funcs.get_mut(func_id).kind {
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/ir.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut folded: Vec<FoldedBytecode> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `LengthOfBlock`
[INFO] [stdout]  --> wasm/src/ir.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type LengthOfBlock = usize;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `None`
[INFO] [stdout]   --> wasm/src/ir.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Instructions`
[INFO] [stdout]   --> wasm/src/ir.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Instructions(Vec<IndexedBytecode>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `LoopBlock`
[INFO] [stdout]   --> wasm/src/ir.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     LoopBlock(Vec<FoldedBytecode>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `IfBlock`
[INFO] [stdout]   --> wasm/src/ir.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     IfBlock(Vec<FoldedBytecode>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Block`
[INFO] [stdout]   --> wasm/src/ir.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Block(Vec<FoldedBytecode>)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `fold_bytecode`
[INFO] [stdout]    --> wasm/src/ir.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn fold_bytecode(flagged: &[BytecodeWithBlockFlag], in_block: bool) -> Vec<FoldedBytecode> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `WasmIR`
[INFO] [stdout]    --> wasm/src/ir.rs:279:10
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub enum WasmIR {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `br_if`
[INFO] [stdout]     --> wasm/src/lib.rs:1221:12
[INFO] [stdout]      |
[INFO] [stdout] 1221 |     pub fn br_if(&mut self, id: InstrSeqId) -> &mut Self {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 67 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArrayType`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:1:118
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::vm::class::{Class, FieldDescriptor, MethodDescriptor, AccessFlags, RefInfoType, Method, MethodReturnType, ArrayType, ClassErro...
[INFO] [stdout]   |                                                                                                                      ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `are_classpaths_siblings`, `load_class`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::vm::linker::loader::{load_class, ClassLoader, are_classpaths_siblings, ClassLoadState, DeserializationError};
[INFO] [stdout]   |                                 ^^^^^^^^^^               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs`, `mem`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fs, mem};
[INFO] [stdout]   |           ^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]  --> jvm/src/vm/vm.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Deref};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefMut`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::{RefCell, RefMut};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout`, `dealloc`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::alloc::{Layout, dealloc};
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::alloc::alloc`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::alloc::alloc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use core::ptr;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::iter::FromIterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Object`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:20:63
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::vm::heap::{Heap, InternArrayType, Type, Reference, Object};
[INFO] [stdout]    |                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::vm::bytecode::Bytecode`
[INFO] [stdout]   --> jvm/src/vm/vm.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::vm::vm::bytecode::Bytecode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::linker::loader::DeserializationError`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1010:9
[INFO] [stdout]      |
[INFO] [stdout] 1010 |     use crate::vm::linker::loader::DeserializationError;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1011:9
[INFO] [stdout]      |
[INFO] [stdout] 1011 |     use std::rc::Rc;
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_enum::IntoPrimitive`
[INFO] [stdout]     --> jvm/src/vm/vm.rs:1012:9
[INFO] [stdout]      |
[INFO] [stdout] 1012 |     use num_enum::IntoPrimitive;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cursor`, `Error`
[INFO] [stdout]  --> jvm/src/vm/class.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{Cursor, Read, Seek, Error};
[INFO] [stdout]   |               ^^^^^^              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::size_of`
[INFO] [stdout]  --> jvm/src/vm/class.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem::size_of;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> jvm/src/vm/class.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cursor`
[INFO] [stdout]    --> jvm/src/vm/class.rs:519:19
[INFO] [stdout]     |
[INFO] [stdout] 519 |     use std::io::{Cursor, Read, Seek, SeekFrom};
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::vm::bytecode::Bytecode`
[INFO] [stdout]    --> jvm/src/vm/class.rs:523:9
[INFO] [stdout]     |
[INFO] [stdout] 523 |     use crate::vm::vm::bytecode::Bytecode;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cursor`
[INFO] [stdout]    --> jvm/src/vm/class.rs:811:19
[INFO] [stdout]     |
[INFO] [stdout] 811 |     use std::io::{Cursor, Read, Seek};
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayType`, `ClassError`
[INFO] [stdout]  --> jvm/src/vm/linker/loader.rs:4:105
[INFO] [stdout]   |
[INFO] [stdout] 4 | ...eld, BaseType, ConstantPool, MethodDescriptor, ArrayType, MethodReturnType, ClassError};
[INFO] [stdout]   |                                                   ^^^^^^^^^                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::size_of`
[INFO] [stdout]  --> jvm/src/vm/linker/loader.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::mem::size_of;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::vm::OperandType::ClassReference`
[INFO] [stdout]   --> jvm/src/vm/linker/loader.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::vm::vm::OperandType::ClassReference;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Method`
[INFO] [stdout]  --> jvm/src/vm/heap.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::vm::class::{Class, Method};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vm::linker::loader::are_classpaths_siblings`
[INFO] [stdout]   --> jvm/src/vm/heap.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::vm::linker::loader::are_classpaths_siblings;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `walrus::ir::Instr`
[INFO] [stdout]  --> wasm/src/ir.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use walrus::ir::Instr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cursor`, `SeekFrom`, `Seek`
[INFO] [stdout]  --> wasm/src/ir.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{Cursor, Seek, SeekFrom};
[INFO] [stdout]   |               ^^^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max`, `min`
[INFO] [stdout]  --> wasm/src/ir.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::{min, max};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> wasm/src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crypto::sha2::Sha256`
[INFO] [stdout]  --> wasm/src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crypto::sha2::Sha256;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crypto::digest::Digest`
[INFO] [stdout]   --> wasm/src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crypto::digest::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jvm::vm::class::attribute::AttributeItem::Signature`
[INFO] [stdout]   --> wasm/src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use jvm::vm::class::attribute::AttributeItem::Signature;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> wasm/src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cursor`, `SeekFrom`, `Seek`
[INFO] [stdout]   --> wasm/src/lib.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{Cursor, Seek, SeekFrom};
[INFO] [stdout]    |               ^^^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ReadBytesExt`
[INFO] [stdout]   --> wasm/src/lib.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use byteorder::{ReadBytesExt, BigEndian, LittleEndian, ByteOrder};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jvm::vm::vm::VirtualMachine`
[INFO] [stdout]   --> wasm/src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use jvm::vm::vm::VirtualMachine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImportKind`, `LocalFunction`, `Memory`
[INFO] [stdout]   --> wasm/src/lib.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 | ...g, LocalFunction, ValType, FunctionBuilder, FunctionId, ImportId, LocalId, ModuleLocals, MemoryId, FunctionKind, ExportItem, ImportKind, Memory, I...
[INFO] [stdout]    |       ^^^^^^^^^^^^^                                                                                                             ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefMut`
[INFO] [stdout]   --> wasm/src/lib.rs:28:26
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::cell::{RefCell, RefMut};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::DerefMut`
[INFO] [stdout]   --> wasm/src/lib.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::ops::DerefMut;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]   --> wasm/src/lib.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::hint::unreachable_unchecked;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> jvm/src/lib.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |         if let FieldDescriptor::ObjectType(string) = a {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   - this expression has type `Result<FieldDescriptor, ParseError>`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                expected enum `Result`, found enum `FieldDescriptor`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Result<FieldDescriptor, ParseError>`
[INFO] [stdout]               found enum `FieldDescriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> jvm/src/lib.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 |         if let FieldDescriptor::ArrayType(array_type) = b {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   - this expression has type `Result<FieldDescriptor, ParseError>`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                expected enum `Result`, found enum `FieldDescriptor`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Result<FieldDescriptor, ParseError>`
[INFO] [stdout]               found enum `FieldDescriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImportType`, `Limits`, `MemoryType`, `ValType`
[INFO] [stdout]   --> jvm_test/src/main.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 | use wasmtime::{Store, Module, Func, ValType, Instance, Val, MemoryType, Limits, ImportType, Caller};
[INFO] [stdout]    |                                     ^^^^^^^                 ^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasmtime::Memory`
[INFO] [stdout]   --> jvm_test/src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use wasmtime::Memory;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> jvm_test/src/main.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{Write, Error};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BigEndian`
[INFO] [stdout]   --> jvm_test/src/main.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use byteorder::{BigEndian, ByteOrder, LittleEndian};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> wasm/src/ir.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |           unimplemented!();
[INFO] [stdout]     |           ----------------- any code following this expression is unreachable
[INFO] [stdout] 236 | 
[INFO] [stdout] 237 | /         if bytecodes.len() > 0 {
[INFO] [stdout] 238 | |             folded.push(FoldedBytecode::Instructions(bytecodes));
[INFO] [stdout] 239 | |         }
[INFO] [stdout]     | |_________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Borrow`
[INFO] [stdout]   --> wasm/src/lib.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BorrowMut`
[INFO] [stdout]   --> wasm/src/lib.rs:29:27
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classpath_offset`
[INFO] [stdout]   --> wasm/src/lib.rs:77:44
[INFO] [stdout]    |
[INFO] [stdout] 77 |             ResourceType::ObjectInstance { classpath_offset, fields_length, .. } => 4 + *fields_length as u32,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^ help: try ignoring the field: `classpath_offset: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> wasm/src/lib.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let size = string_class.full_heap_size + 4; //Following the memory layout
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classpath`
[INFO] [stdout]    --> wasm/src/lib.rs:416:14
[INFO] [stdout]     |
[INFO] [stdout] 416 |         for (classpath, class) in self.class_loader.class_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classpath`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classpath`
[INFO] [stdout]    --> wasm/src/lib.rs:421:14
[INFO] [stdout]     |
[INFO] [stdout] 421 |         for (classpath, class) in self.class_loader.class_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classpath`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_name`
[INFO] [stdout]    --> wasm/src/lib.rs:431:14
[INFO] [stdout]     |
[INFO] [stdout] 431 |         for (method_name, overloaded) in class.method_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:432:18
[INFO] [stdout]     |
[INFO] [stdout] 432 |             for (descriptor, method) in overloaded.iter() {
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_name`
[INFO] [stdout]    --> wasm/src/lib.rs:497:14
[INFO] [stdout]     |
[INFO] [stdout] 497 |         for (method_name, overloaded) in class.method_map.iter() {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:498:18
[INFO] [stdout]     |
[INFO] [stdout] 498 |             for (descriptor, method) in overloaded.iter() {
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i2`
[INFO] [stdout]    --> wasm/src/lib.rs:572:57
[INFO] [stdout]     |
[INFO] [stdout] 572 |                 stubs.iter().for_each(|(bytecode_index, i2, block_id)| {
[INFO] [stdout]     |                                                         ^^ help: if this is intentional, prefix it with an underscore: `_i2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytecode_index`
[INFO] [stdout]    --> wasm/src/lib.rs:576:46
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 stubs.into_iter().for_each(|(bytecode_index, folded_bytecode, block_id)| {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytecode_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:505:13
[INFO] [stdout]     |
[INFO] [stdout] 505 |         let method_descriptor = MethodDescriptor::parse(&method.descriptor);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> wasm/src/lib.rs:604:13
[INFO] [stdout]     |
[INFO] [stdout] 604 |         let len = code.code.len();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> wasm/src/lib.rs:602:36
[INFO] [stdout]     |
[INFO] [stdout] 602 |     fn analyze_locals(code: &Code, class: &Class) -> HashMap<usize, ValType> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]    --> wasm/src/lib.rs:658:42
[INFO] [stdout]     |
[INFO] [stdout] 658 |     fn fold_bytecode(&self, code: &Code, method: &Method, class: &Class) -> Vec<FoldedBytecode> {
[INFO] [stdout]     |                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> wasm/src/lib.rs:658:59
[INFO] [stdout]     |
[INFO] [stdout] 658 |     fn fold_bytecode(&self, code: &Code, method: &Method, class: &Class) -> Vec<FoldedBytecode> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> wasm/src/lib.rs:669:21
[INFO] [stdout]     |
[INFO] [stdout] 669 |                 let first = bytecode.first();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `formatted`
[INFO] [stdout]    --> wasm/src/lib.rs:716:13
[INFO] [stdout]     |
[INFO] [stdout] 716 |         let formatted = format_method_name(class, method);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_formatted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:717:13
[INFO] [stdout]     |
[INFO] [stdout] 717 |         let method_descriptor = MethodDescriptor::parse(&method.descriptor).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytecode_index`
[INFO] [stdout]    --> wasm/src/lib.rs:734:17
[INFO] [stdout]     |
[INFO] [stdout] 734 |             let bytecode_index = *&ib.1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytecode_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:903:37
[INFO] [stdout]     |
[INFO] [stdout] 903 |                 Bytecode::If_icmpge(branch) => { //if_icmpge
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:914:37
[INFO] [stdout]     |
[INFO] [stdout] 914 |                 Bytecode::If_icmpeq(branch) => {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:917:32
[INFO] [stdout]     |
[INFO] [stdout] 917 |                 Bytecode::Goto(branch) => {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:920:37
[INFO] [stdout]     |
[INFO] [stdout] 920 |                 Bytecode::If_icmpne(branch) => {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]    --> wasm/src/lib.rs:923:32
[INFO] [stdout]     |
[INFO] [stdout] 923 |                 Bytecode::Ifne(branch) => {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classpath_utf8_len`
[INFO] [stdout]   --> jvm_test/src/main.rs:90:25
[INFO] [stdout]    |
[INFO] [stdout] 90 |                     let classpath_utf8_len = LittleEndian::read_u32(&data[classpath_utf8_ptr..classpath_utf8_ptr+4]);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classpath_utf8_len`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]   --> jvm_test/src/main.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let (_, class) = cl.load_and_link_class("Main").ok().unwrap();
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_time`
[INFO] [stdout]   --> jvm_test/src/main.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let get_time = Func::wrap(&store, || {
[INFO] [stdout]    |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `print_long`
[INFO] [stdout]   --> jvm_test/src/main.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let print_long = Func::wrap(&store, |x: i64| {
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_long`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `print_string`
[INFO] [stdout]   --> jvm_test/src/main.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let print_string = Func::wrap(&store,|caller: Caller, x: i32| {
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mem_ptr`
[INFO] [stdout]    --> jvm_test/src/main.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |             let mem_ptr = heap.data_ptr();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mem_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main`
[INFO] [stdout]    --> jvm_test/src/main.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let (_, main) = vm.class_loader.borrow_mut().load_and_link_class("Main").ok().unwrap();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_main`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread`
[INFO] [stdout]    --> jvm_test/src/main.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let thread = vm.spawn_thread("Main", "Main", "main", "(I)V", vec![
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clazz`
[INFO] [stdout]    --> wasm/src/lib.rs:931:29
[INFO] [stdout]     |
[INFO] [stdout] 931 |                         let clazz = class.constant_pool.resolve_class_info(*class_index).unwrap();
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_clazz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fd`
[INFO] [stdout]    --> wasm/src/lib.rs:935:29
[INFO] [stdout]     |
[INFO] [stdout] 935 |                         let fd = FieldDescriptor::parse(descriptor);
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_fd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_descriptor`
[INFO] [stdout]    --> wasm/src/lib.rs:956:25
[INFO] [stdout]     |
[INFO] [stdout] 956 |                     let method_descriptor = MethodDescriptor::parse(&method_ref.descriptor);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_descriptor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]     --> wasm/src/lib.rs:1009:37
[INFO] [stdout]      |
[INFO] [stdout] 1009 |                 Bytecode::Anewarray(index) => { //anewarray
[INFO] [stdout]      |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]     --> wasm/src/lib.rs:1049:32
[INFO] [stdout]      |
[INFO] [stdout] 1049 |                 Bytecode::Ifeq(c) => {
[INFO] [stdout]      |                                ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_map`
[INFO] [stdout]    --> wasm/src/lib.rs:715:88
[INFO] [stdout]     |
[INFO] [stdout] 715 | ...e: &Vec<IndexedBytecode>, block_map: &HashMap<usize, InstrSeqId>, method: &Method, class: &Class, java_locals: &HashMap<usize, LocalId...
[INFO] [stdout]     |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scopes`
[INFO] [stdout]    --> wasm/src/ir.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let scopes: Vec<(Range<usize>, BlockType)> = Vec::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scopes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> wasm/src/ir.rs:191:41
[INFO] [stdout]     |
[INFO] [stdout] 191 |             blocktypes.iter().for_each(|block| {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `folded`
[INFO] [stdout]    --> wasm/src/ir.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut folded: Vec<FoldedBytecode> = Vec::new();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_folded`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]    --> wasm/src/ir.rs:254:17
[INFO] [stdout]     |
[INFO] [stdout] 254 |             let length = Bytecode::size_of(&bytecode);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]    --> wasm/src/ir.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn from(bytes: Vec<u8>) -> Self {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> jvm_test/src/main.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let mut imports = vec![
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> jvm_test/src/main.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut mut_thread = vm.threads.get_mut("Main").unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:405:18
[INFO] [stdout]     |
[INFO] [stdout] 405 |     pub fn build(mut self) -> (Vec<u8>, SerializedMemory) {
[INFO] [stdout]     |                  ----^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> jvm_test/src/main.rs:146:34
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 Err(e) => panic!(format!("{:?}", e))
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 Err(e) => panic!("{:?}", e)
[INFO] [stdout]     |                                 --       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> jvm_test/src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fs::write("./jvm_test/wasm_out/out.wasm", &wasm);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm_test/src/main.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 heap.data_unchecked_mut().write(&memory.data[..]);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> jvm_test/src/main.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 | /             instance.get_export("main").unwrap().into_func().unwrap().call(
[INFO] [stdout] 117 | |                 &[Val::I32(100)]
[INFO] [stdout] 118 | |             );
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:585:25
[INFO] [stdout]     |
[INFO] [stdout] 585 |                     let mut builder = match &mut module.funcs.get_mut(func_id).kind {
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:512:21
[INFO] [stdout]     |
[INFO] [stdout] 512 |                 let mut bytecode_locals = Self::analyze_locals(code, class);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/lib.rs:557:21
[INFO] [stdout]     |
[INFO] [stdout] 557 |                 let mut builder = match &mut module.funcs.get_mut(func_id).kind {
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> wasm/src/ir.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut folded: Vec<FoldedBytecode> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `LengthOfBlock`
[INFO] [stdout]  --> wasm/src/ir.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type LengthOfBlock = usize;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `None`
[INFO] [stdout]   --> wasm/src/ir.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Instructions`
[INFO] [stdout]   --> wasm/src/ir.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Instructions(Vec<IndexedBytecode>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `LoopBlock`
[INFO] [stdout]   --> wasm/src/ir.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     LoopBlock(Vec<FoldedBytecode>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `IfBlock`
[INFO] [stdout]   --> wasm/src/ir.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     IfBlock(Vec<FoldedBytecode>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Block`
[INFO] [stdout]   --> wasm/src/ir.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Block(Vec<FoldedBytecode>)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `fold_bytecode`
[INFO] [stdout]    --> wasm/src/ir.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn fold_bytecode(flagged: &[BytecodeWithBlockFlag], in_block: bool) -> Vec<FoldedBytecode> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `WasmIR`
[INFO] [stdout]    --> wasm/src/ir.rs:279:10
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub enum WasmIR {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `br_if`
[INFO] [stdout]     --> wasm/src/lib.rs:1221:12
[INFO] [stdout]      |
[INFO] [stdout] 1221 |     pub fn br_if(&mut self, id: InstrSeqId) -> &mut Self {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `jvm`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 67 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "02ac44b928a611e7febd05e5887cca3e3512c8fe9c243eca858f22ab1503a6d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02ac44b928a611e7febd05e5887cca3e3512c8fe9c243eca858f22ab1503a6d3", kill_on_drop: false }`
[INFO] [stdout] 02ac44b928a611e7febd05e5887cca3e3512c8fe9c243eca858f22ab1503a6d3
